/*
 * process.h
 *
 *  Created on: Feb 29, 2012
 *  Author: Allison Graham
 */

#ifndef PROCESS_H_
#define PROCESS_H_

#include "request.h"
#include "enum_process_type.h"

typedef struct process_str{
    int process_id;  // process identification number
    int total_num_steps; // number of "instructions" to run (before resetting to 0)
    int num_requests;   // number of requests generated during one full run
    process_type process_t;// type of the process;
    request** requests; //request array of pointers.
}process;

//*******************************************************************
// Method Headers
//*******************************************************************
process* process_create(const int id,
					 	const int num_steps,
					 	const int num_requests,
					 	const process_type type_of_process,
					 	const request** the_requests);
int process_destroy(process* my_process);
int is_interuppted(const process* my_process, const int instruction_number);
int process_get_request_type(const process* my_process, const int index);

#endif /* PROCESS_H_ */
